package com.diapoclic.ejb.session;
import java.util.List;

import com.diapoclic.entity.*;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

/**
 * Session Bean implementation class UserManager
 */
@Stateless
public class UserManager implements UserManagerRemote {

//////////////////
//Membres priv�s//
//////////////////
@PersistenceContext		//Persistence g�r�e par le conteneur (injection � l'ex�cution)
EntityManager m_GestionnaireEntites;		//g�re la persistence des donn�es

//////////////////////
//M�thodes publiques//
//////////////////////	
	/**
     * Default constructor. 
     */
    public UserManager() {
        // TODO Auto-generated constructor stub
    }

    
    //Permet d'ajouter un user
    public void addUser(User p_User)
    {
    	//Ajout de l'employ� � la base de donn�es
    	m_GestionnaireEntites.persist(p_User);
    }
    
    //R�cup�re la liste de tous les user
    @SuppressWarnings("unchecked")	//permet d'�viter la v�rification du transtypage explicite
	public List<User> getUser()
    {
    	return (List<User>)m_GestionnaireEntites.createNamedQuery("FindAllUser").getResultList();
    }
    
    //R�cup�re l'employ� correspondant au nom d'utilisateur pass� en param�tre
    public User getUserById(String p_Id)
    {
    	return (User)m_GestionnaireEntites.createNamedQuery("FindUserById").setParameter("p_Id", p_Id).getSingleResult();
    }
       

	public String getHello() {
		return "Hello World !!!!";
	}

    
}
